package examsrv

import (
	"gitee.com/chuanjinge/gopkgserv/internal/dao"
)

type RecentExam struct {
	ExamID   int
	ExamTime string
}

// GetRecentExamByUserId 查询用户最近一次考试
func GetRecentExamByUserId(userId int64) (*RecentExam, error) {
	var exam dao.ExamExams
	if err := dao.DB.Where("user_id = ?", userId).Order("created_at desc").First(&exam).Error; err != nil {
		return nil, err
	}

	// 考试提交时间取 exam.FinishedAt, 但是该值有可能为空，所以要防御一下
	if exam.FinishedAt == nil {
		return &RecentExam{
			ExamID:   exam.ID,
			ExamTime: "",
		}, nil
	} else {
		return &RecentExam{
			ExamID:   exam.ID,
			ExamTime: exam.FinishedAt.Format("2006-01-02 15:04:05"),
		}, nil
	}
}

// GetExamStat 查询考试统计信息（可根据实际业务完善）
func GetExamStat(examId int) (total, corrent, unanswered int) {
	// 这里仅做示例，实际应统计答题情况
	// 可通过 dao 层查询 exam_user_answers 表
	return 15, 10, 5 // 示例：总题数15，正确10，未答5
}
